1 using System.Collections;
2 using
System.Collections.Generic;
3 using
UnityEngine;
4
5 public
enum AngleType {
6     CUSTOM,
7     _3D,
8     _2D,
9 }

10
11 public
class SwitchAngle : MonoBehaviour {
12
13     
public AngleType angleType; //using prefs manager to 2d or 3d TODO
14
15     
[SerializeField]
16     
private Vector3 p1CameraPos = new Vector3(-0.75f, 5.82f, -6.01f);
17     
[SerializeField]
18     
private Vector3 p1CameraRot = new Vector3(49.04f, 4.72f, 0);
19
20     
[SerializeField]
21     
private Vector3 p2CameraPos = new Vector3(0.75f, 5.82f, 6.01f);
22     
[SerializeField]
23     
private Vector3 p2CameraRot = new Vector3(49.04f, 184.72f, 0);
24
25
26     
private Vector3 p1CameraPos3D = new Vector3(-0.75f, 5.82f, -6.01f);
27     
private Vector3 p1CameraRot3D = new Vector3(49.04f, 4.72f, 0);
28     
private Vector3 p2CameraPos3D = new Vector3(0.75f, 5.82f, 6.01f);
29     
private Vector3 p2CameraRot3D = new Vector3(49.04f, 184.72f, 0);
30
31     
private Vector3 p1CameraPos2D = new Vector3(-0.75f, 8, 0f);
32     
private Vector3 p1CameraRot2D = new Vector3(90f, 0, 0);
33     
private Vector3 p2CameraPos2D = new Vector3(-0.75f, 8, 0f);
34     
private Vector3 p2CameraRot2D = new Vector3(90f, 180f, 0);
35
36     
private Camera rotateCamera;
37
38     
void LoadAngleType() {
39         
switch (angleType) {
40             
case AngleType._3D:
41                 p1CameraPos = p1CameraPos3D;
42                 p1CameraRot = p1CameraRot3D;
43                 p2CameraPos = p2CameraPos3D;
44                 p2CameraRot = p2CameraRot3D;
45             
break;
46             
case AngleType._2D:
47                 p1CameraPos = p1CameraPos2D;
48                 p1CameraRot = p1CameraRot2D;
49                 p2CameraPos = p2CameraPos2D;
50                 p2CameraRot = p2CameraRot2D;
51             
break;
52         }
53
54         SetCameraPosRot(p1CameraPos,p1CameraRot);
55     }
56
57     
void Awake() {
58
59     }
60
61     
// Use this for initialization
62     
void Start () {
63         
int cameraView = PlayerPrefs.GetInt(GameManager.CAMERA_VIEW,0);
64         angleType = (cameraView ==
1) ? AngleType._3D : AngleType._2D;
65         rotateCamera = GetComponent<Camera>();
66         LoadAngleType();
67     }
68     
69     
// Update is called once per frame
70     
void Update () {
71         
72     }
73
74     
public void SwitchCamera(PlayerType playerType) {
75         
switch (playerType) {
76             
case PlayerType.P1:
77                 SetCameraPosRot(p1CameraPos, p1CameraRot);
78                 
break;
79             
case PlayerType.P2:
80                 SetCameraPosRot(p2CameraPos, p2CameraRot);
81                 
break;
82         }
83     }
84
85     
private void SetCameraPosRot(Vector3 pos, Vector3 rot) {
86         rotateCamera.transform.position = pos;
87         rotateCamera.transform.eulerAngles = rot;
88     }
89 }


public AngleType angleType; using prefs manager to 2d or 3d TODO

Use this for initialization

Update is called once per frame



Gõ tìm kiếm nhanh...